// type sumType = string | number
// function sum(n1:sumType,n2:sumType){
//   return n1+n2
// }

//函数的重载：函数的名称相同，但是参数不同的几个函数,就是函数的重载
function add(n1:number,n2:number):number;
function add(n1:string,n2:string):string;
function add(n1:number,n2:string):string;
function add(n1:string,n2:number):string;
function add(n1:any,n2:any):any{
  return n1+n2
}
//在函数的重载中，实现函数是不能被调用的
const result1 = add(10,20)
const result2 = add('aa','bb')
const result3 = add(1,'bb')
const result4 = add('bb',1)